<?php
class eventoComponent extends Component{
    //public    $list_in_table = true;
    public function __construct() {
        parent::__construct();
        $this->Html->LoadCss('ppdh/evento');
    }
    
    public function show($model, $item) {
        
        $this->LoadComponent('pessoal/endereco', 'end');
        $this->gui->info($this->format_venda_evento_terminodivulgacao($item['venda_evento_terminodivulgacao']));
        //unset($item['venda_evento_terminodivulgacao']);
        
        $item['venda_evento_dt']  = $this->getDataEvento($item, 'venda_evento_inicio', 'venda_evento_termino');
        $item['vendas_evento_local'] = 'Local: '.$item['vendas_evento_local'] ."<br/>" .
                $this->end->getFormatedAdrressString($item['pessoal_endereco_cod']);
        $this->drawDestaque($item, 'venda_evento_titulo', 'vendas_evento_local', 'venda_evento_dt');
        
        unset($item['pessoal_endereco_cod']);
        if(LINK == "venda/equipe") unset($item['anexo']);
        parent::show($model, $item);
    }
    
    public function DrawItem($model, $pkey, $item, $dados) {
        
        if(MOBILE){
            $links = $this->getActionLinks($model, $pkey, $item);
            $link = $this->Html->getLink($links);
            echo "<a href='$link'>";
        }
        $item['venda_evento_dt']  = $this->getDataEvento($item, 'venda_evento_inicio', 'venda_evento_termino');
        $item['vendas_evento_local'] = 'Local: '.$item['vendas_evento_local'];
        $this->drawDestaque($item, 'venda_evento_titulo', 'vendas_evento_local', 'venda_evento_dt', false);
        if(MOBILE){ echo "</a>";}
        
        parent::DrawItem($model, $pkey, $item, $dados);
    }
    
    public function getDataEvento(&$item, $ini, $ter){
        //$diff = timeResource::diffDate($item['venda_evento_iniciodivulgacao'], $item['venda_evento_terminodivulgacao'], "D");
        $diff = timeResource::diffDate($item[$ini], $item[$ter], "D");
        
        //se evento dura um dia
        if($diff == 0) {
            $str  = " Dia " .timeResource::Date2StrBr($item[$ter], false);
            $str .= " De " .timeResource::getTimeOfDate($item[$ini]);
            $str .= " Até ".timeResource::getTimeOfDate($item[$ter]);
        }
        //se evento dura mais de um dia
        else{
            $str  = " De " .timeResource::Date2StrBr($item[$ini], false);
            $str .= " Até ".timeResource::Date2StrBr($item[$ter], false);
        }
        
        unset($item[$ini]);
        unset($item[$ter]);
        return $str;
    }
    
    public function format_venda_evento_terminodivulgacao($date){
        return $this->formatEventDate($date, "A divulgação deste evento se encerrará em ", "A divulgação deste evento está encerrada");
    }
    
    public function formatEventDate($date, $frase_ini, $frase_encerra){
        $str = $frase_ini;
        $intervalo = timeResource::diffDate($date);
        if($intervalo > 0) $str = $frase_encerra;
        else {
            $intervalo = abs(timeResource::diffDate($date, "", "D"));
            if(abs($intervalo) > 2) $str .= "$intervalo Dias";
            else{
                $intervalo = abs(timeResource::diffDate($date, "", "H"));
                if(abs($intervalo) > 2) $str .= "$intervalo Horas";
                else {
                    $intervalo = abs(timeResource::diffDate($date, "", "MI"));
                    if($intervalo > 1) $str .= " $intervalo Minutos";
                    else $str = $frase_encerra;
                }
            }
        }
        return $str;
    }
}
?>